package cn.fuck.boxing;

public class TestInteger {
    /**
     * // 超出-128-17才会创建新的对象, 否则会使用来自static的数组的相同的元素
     *         Integer i4 = Integer.valueOf(122);
     *         Integer i5 = Integer.valueOf(122);
     *         // 所以比较对象地址是相同的
     *         System.out.println(i4 == i5);
     *         System.out.println(i4.equals(i5));
     * @param args
     */
    public static void main(String[] args) {
        Integer i2 = 1220;
        Integer i3 = 1220;
        System.out.println(i2 == i3);
        System.out.println(i2.equals(i3));
        // 除非显式创建, 否则超出-128-17才会创建新的对象, 否则会使用来自static的数组的相同的元素
        Integer i4 = Integer.valueOf(122);
        Integer i5 = Integer.valueOf(122);
        // 所以比较对象地址是相同的
        System.out.println(i4 == i5);
        System.out.println(i4.equals(i5));

        // 显式创建就不会用static的cache数组
        Integer i6 = new Integer(125);
        Integer i7 = new Integer(125);
        // 所以比较对象地址是相同的
        System.out.println(i6 == i7);
        System.out.println(i6.equals(i7));

    }
}
